package com.data.modules.smzh.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.data.common.aspect.annotation.SqlParser;
import com.data.common.entity.BasePage;
import com.data.modules.smzh.entity.Devicebuild;
import com.data.modules.smzh.entity.SmUser;
import com.data.modules.smzh.vo.SmUserInfoVO;
import com.data.modules.smzh.vo.SmUserVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Description: user
 * @Author: data-boot
 * @Date:   2022-11-27
 * @Version: V1.0
 */
public interface SmUserMapper extends BaseMapper<SmUser> {


    IPage<SmUserVo> queryPageList(Page page, @Param("data") SmUserVo user);

    IPage<SmUserVo> getBindUserPageList(Page<SmUserVo> page, @Param("data")SmUserVo user);

    IPage<SmUserVo> getBindUserBySerNoPageList(Page<SmUserVo> page, @Param("data")SmUserVo user);

    List<Map> searchUserInfo( @Param("userList") List<String> arrary);

    Integer queryUser(@Param("name") String name);

    List<Map> searchDeviceTotal(@Param("name") String name);

    @SqlParser(filter = true)
    List<Map> searchAddUserInfo(@Param("name") String name);

    List<Devicebuild> queryBindUserAndDevice(@Param("data") SmUserInfoVO user);

    List<Map> searchAuthInfo(@Param("data") SmUserInfoVO user);

    SmUser searchUserById(String id);
}
